"""
@Author  : 康帅
@Time    : 2021/1/12 15:39
@Function: 
"""
a = [1, 2, 3, 4, 5]
b = [2, 3, 4]

"""
zip() 最明显的问题是它会舍弃掉未耗尽的迭代器
这是⼀种⽊桶效应，最终的结果由最短的⽊板来决定
"""
print(list(zip(a, b)))

"""
解决方法:
有⼀种解决思路是取⻓板，同时补⾜短板（⽤ None 值填充），这就是 itertools 中的 zip_longest ⽅法
"""
import itertools

print(list(itertools.zip_longest(a, b)))

"""
如果zip()组合的数据各是是字典，那么想要从字典中再获取到相对应的value就需要用字典默认的values()获取
"""

k_list = ["name", "age", "height"]
v_dict = {"ks": 1, 24: 2, "180": 3}
# print(dict(zip(k_list, v_dict)))

# 想要取到v_dict中的value需要这样去处理
print(dict(zip(k_list, v_dict.values())))
